<template>
    <div>
        <div class="banner" @click="handleBannerClick">
            <img :src="bannerImg" />
            <div class="banner-info">
                <div class="banner-title">{{ this.sightName }}</div>
                <div class="banner-num">
                    <span class="iconfont banner-icon">&#xe61e;</span
                    >{{ this.gallaryImgs.length }}
                </div>
            </div>
        </div>
        <fade-animation>
            <common-gallary
                :imgs="gallaryImgs"
                v-show="showGallary"
                @close="handleGallaryColse"
            ></common-gallary>
        </fade-animation>
    </div>
</template>

<script>
// 引入CommonGallary组件
import CommonGallary from "common/gallary/Gallary";
import FadeAnimation from "common/fade/FadeAnimation";
export default {
    name: "DetailBanner",
    props: {
        sightName: String,
        bannerImg: String,
        gallaryImgs: Array,
    },
    data() {
        return {
            showGallary: false,
        };
    },
    components: {
        CommonGallary,
        FadeAnimation,
    },
    methods: {
        handleBannerClick() {
            this.showGallary = true;
        },
        handleGallaryColse() {
            this.showGallary = false;
        },
    },
};
</script>

<style scoped>
.banner {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-bottom: 50%;
}
.banner img {
    width: 100%;
}
.banner-info {
    display: flex;
    align-items: center;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    line-height: 0.6rem;
    color: #fff;
    background-image: linear-gradient(
        top,
        rgba(0, 0, 0, 0),
        rgba(0, 0, 0, 0.8)
    );
}
.banner-info .banner-title {
    flex: 1;
    font-size: 0.32rem;
    padding: 0 0.2rem;
}
.banner-info .banner-num {
    padding: 0 0.2rem;
    height: 0.4rem;
    line-height: 0.4rem;
    border-radius: 0.2rem;
    background: rgba(0, 0, 0, 0.8);
    font-size: 0.24rem;
    margin-right: 0.2rem;
}
.banner-icon {
    font-size: 0.24rem;
    padding: 0 0.1rem;
}
</style>